package com.bestcem.xm.ticket.grpc.client.enums.survey;

import lombok.Getter;

/**
 * 数据来源
 *
 * @author zq.ding <zq.ding@idiaoyan.com>
 * @version v1.0
 * @date 2021/8/27 16:19
 */
@Getter
public enum RespondentSourceEnum {
    /**
     * 未知来源
     */
    RESPONDENT_SOURCE_UNKNOWN("未知来源", 0),
    /**
     * 预览
     */
    RESPONDENT_SOURCE_PREVIEW("预览", 1),
    /**
     * 二维码
     */
    RESPONDENT_SOURCE_QRCODE("二维码", 2),
    /**
     * 短信
     */
    RESPONDENT_SOURCE_SMS("短信", 3),
    /**
     * 微信
     */
    RESPONDENT_SOURCE_WECHAT("微信", 4),
    /**
     * 支付宝
     */
    RESPONDENT_SOURCE_ALIPAY("支付宝", 5),
    /**
     * 邮件
     */
    RESPONDENT_SOURCE_EMAIL("邮件", 6),
    /**
     * 定制
     */
    RESPONDENT_SOURCE_CUSTOM("定制", 7),
    /**
     * 嵌入
     */
    RESPONDENT_SOURCE_EMBED("嵌入", 8),
    /**
     * 专用链接
     */
    RESPONDENT_SOURCE_DEDICATED("专用链接", 9),
    /**
     * 样本投放
     */
    RESPONDENT_SOURCE_SAMPLE("样本投放", 10);
    private final String name;
    private final Integer index;

    RespondentSourceEnum(String name, Integer index) {
        this.name = name;
        this.index = index;
    }

    /**
     * 根据 index 获取枚举实体
     * 找不到则返回 null
     *
     * @param index 枚举index
     * @author zq.ding <zq.ding@idiaoyan.com>
     * @date 2021/8/31 13:35
     */
    public static RespondentSourceEnum getByIndex(Integer index) {
        for (RespondentSourceEnum value : values()) {
            if (value.getIndex().equals(index)) {
                return value;
            }
        }
        return null;
    }
}
